package cn.kgc.bdqn_studentinfomanager.service.StudentService;

import cn.kgc.bdqn_studentinfomanager.pojo.Model.BdqnStudentinfo;
import cn.kgc.bdqn_studentinfomanager.pojo.common.ServerResponse;
import cn.kgc.bdqn_studentinfomanager.pojo.dto.AddStudentDto;

/**
 * by Shanshui CC on 2020/12/7 17:37
 */
public interface StudentService {

    /**
     * 招生老师界面\咨询师  进入时  加载学生信息
     * @param token
     * @return
     */
    public ServerResponse LoadingStudentInfoByRecruitId(String token);

    /**
     * 专员界面 进入时  加载学生信息
     * @param token
     * @return
     */
    public ServerResponse LoadingStudentInfoByByComm(String token);

    /**
     * 跳转至添加学生界面时，初始化省
     * @return
     */
    public ServerResponse loadingProvince(String token);

    /**
     * 跳转至添加学生界面时，初始化市
     * @return
     */
    public ServerResponse loadingCityByProvinceId(String token,String provinceId);

    /**
     * 添加学生信息
     * @param addStudentDto
     * @return
     */
    public ServerResponse add(AddStudentDto addStudentDto, String token);

    /**
     * 统计学生数量 / 年月
     */
    public ServerResponse totalestudentsnum(String token);

    /**
     * 统计学生列表 / 年月
     * @return
     */
    public ServerResponse totalestudents(String token);

    /**
     * 统计报名数量 / 年月
     * @return
     */
    public ServerResponse enrolledstudentsnum(String token);

    /**
     * 统计学生报名列表 / 月
     * @return
     */
    public ServerResponse enrolledstudents(String token);


    /**
     *  更新学生信息
     * @return
     */
//    public ServerResponse updateinfo(BdqnStudentinfo bdqnStudentinfo);


    /**
     * 点击页面时将所有学生信息加载出来
     * @param token
     * @return
     */
    public ServerResponse loadingStudentInfo(String token);

    /**
     * 模糊查询学生信息
     * @param condition
     * @param status
     * @return
     */
    public ServerResponse getstudentinfo(String condition,String status,String token);


    /**
     * 展示一条学生信息
     * @param studentId
     * @return
     */
    public ServerResponse showStudentInfoById(String token,String studentId);


    /**
     * 展示一条学生信息后点击保存    (修改学生信息)
     * @param addStudentDto
     * @return
     */
    public ServerResponse saveStudentInfoById(AddStudentDto addStudentDto,String token);


    /**
     * 修改学生信息前预准备   (根据学生Id加载所有省份集合和当前学生所在的省份)
     * @return
     */
    public ServerResponse getProvinceListAndProvince(String token,String studentId);


    /**
     * 修改学生信息前预准备   (根据学生Id加载所有城市集合和当前学生所在的城市)
     * @return
     */
    public ServerResponse getCityListAndCity(String token,String studentId);
    public ServerResponse showAllDescription(String token,String studentId);
}
